package com.cmcc.qx.util;

import java.util.HashSet;
import java.util.Set;

public class PageUtil {
	/**
	 * 分页的逻辑处理
	 * @param cnt 一共有多少条数据
	 * @param limit 一页展现多少条
	 * @param page	当前页数
	 * @return	返回一串数字 用来表示分页的页数
	 */
	public static Set<Integer> paginate(int cnt, int limit, int page){
		Set<Integer> index = new HashSet<Integer>();
		int num = cnt/limit;
		if(cnt%limit!=0){
			num++;
		}
		//无论当前页是多少，保证有五个页数显示在当前界面上
		if(num>5){//超过5页的选取当前页向邻近的   比如当前页是3   则显示12345
			if(page<=3){
				index.add(1);
				index.add(2);
				index.add(3);
				index.add(4);
				index.add(5);
			} else if(page+2 <= num) {
				index.add(page-2);
				index.add(page-1);
				index.add(page);
				index.add(page+1);
				index.add(page+2);
			} else if(page+1 <= num) {
				index.add(page-3);
				index.add(page-2);
				index.add(page-1);
				index.add(page);
				index.add(page+1);
			} else if(page <= num) {
				index.add(page-4);
				index.add(page-3);
				index.add(page-2);
				index.add(page-1);
				index.add(page);
			}
		}else{
			for(int i = 1;i<=num;i++){
				index.add(i);
			}
		}
		return index;
	}
}
